The present invention relates generally to the field of telecommunications and, in particular, to a circuit and method for service clock recovery.
Asynchronous Transfer Mode (ATM) is a packet oriented technology which permits continuous bit rate signals carrying one or more of voice, video, and data, to be conveyed across a broadband network within packets. ATM is suitable for the transport of bursty traffic such as data, as well as accommodating constant or continuous bit rate signals. In delivering continuous bit rate traffic (e.g., T1, DS3 signals) in a broadband network, a service clock controlling a destination node buffer must operate at a frequency precisely matched to that of a service clock at a source node in order to avoid buffer overflow or underflow and resulting loss of data.
One problem with synchronizing the service clock at the destination node with the service clock at the source node is xe2x80x9ccell jitterxe2x80x9d that is inherent in the use of an ATM network. Cell jitter is the random delay and a periodic arrival of cells at a destination node. In other words, cell jitter means that all of the cells or packets that travel between a source node and a destination node do not take the same amount of time to travel through the ATM network. Thus, it is difficult to use the cell arrival times to directly synchronize the frequency of the service clock at the destination node with the service clock at the source node.
Numerous schemes have been proposed to provide a mechanism for synchronizing the service clocks of source and destination nodes in the presence of cell jitter. This is also referred to as xe2x80x9cservice clock recovery.xe2x80x9d Descriptions of many of these schemes are provided in Fleischer et al. U.S. Pat. No. 5,260,978 (the ""978 Patent). The ""978 Patent incorporated by reference. Perhaps the most elegant and widely accepted of the service clock recovery schemes is known as synchronous residual time stamp (SRTS or RTS) encoding. SRTS encoding is specified, for example, in T1.630, Annex A for delivering T1 service over an ATM network.
The ""978 Patent describes one embodiment of SRTS encoding. A free running four bit counter is used at the source node to count cycles of a common network clock. At the end of every residual time stamp (RTS) time period formed by 3008 service clock cycles (i.e., eight cells of forty-seven bytes of data each), the current four bit count of the four bit counter is transmitted in the ATM adaptation layer (AAL1) by using one bit in every other byte of the AAL1 for eight cells. It should be noted that the AAL1 is the overhead byte which accompanies the forty-seven bytes of data to constitute the forty-eight-byte payload of an ATM cell. The ATM cell also includes five additional bytes of header. The four-bit SRTS provides sufficient information for unambiguously representing the number of network clock cycles within a predetermined range.
The clock recovery at the destination node according to the ""978 Patent involves determining from the received RTSs the number of network clock cycles in each RTS period, and generating a pulse signal from the network clock in which the period of the pulse equals the determined number of network clock cycles in the corresponding RTS period. The pulse frequency is then multiplied by 3008 in order to recover the source node service clock.
While the clock recovery mechanism of the ""978 Patent might be suitable for recovering the source node service clock, it is neither the only recovery mechanism possible, nor necessarily the most optimal mechanism for recovering the source node service clock.
U.S. Pat. No. 5,608,731, entitled Closed Loop Clock Recovery for Synchronous Residual Time Stamp (the ""731 Patent) describes another service clock recovery technique using SRTS. The ""731 Patent describes an apparatus with a digitally controlled oscillator at the destination node. A local RTS-related value is generated at the destination node based on the output of the digitally controlled oscillator. RTS values from incoming data packets are compared to the local RTS-related values generated at the destination node. This provides a feedback error or control signal. The control signal is used to adjust the digitally controlled oscillator at the destination node. With the feedback loop as provided, when the destination node clock is faster than the source clock, the error signal will cause the destination node clock to slow, and vice versa. Unfortunately, the complex circuitry used in this closed loop must be replicated for each port at the destination node. Further, this closed loop solution suffers from problems common to closed loop control circuits.
For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for an improved circuit and method for service clock recovery.
The above mentioned problems with service clock recovery in a telecommunications network using asynchronous transfer mode and other problems are addressed by the present invention and which will be understood by reading and studying the following specification. A circuit and method for service clock recovery is described which uses a direct digital synthesis (DDS) circuit that is set based on analysis of a large sample of RTS values. Further, buffer fill levels at the destination node arm simultaneously monitored and information derived from this data is used to adjust the setting of the DDS circuit, at an optimum buffer fill level.
In particular, one embodiment of the present invention provides a method for synchronizing a service clock at a destination node with a service clock at a source node for circuit emulation service over a packet network. The method includes receiving data packets from a source node at at least one port of the destination node. At the destination node, the method removes from the data packets residual time stamp (RTS) values that were created at the source node based on at least the service clock at the source node. RTS values are stored in memory at the destination node. The method determines a majority count and a minority count of RTS values over a period of time from the RTS values stored in memory. The method further uses the majority and minority counts to set the frequency of a service clock at the destination node for use in receiving data packets.
In another embodiment, a method for synchronizing a service clock at a destination node in a packet switch network is provided. The packets are transmitted from a source node to a destination node. The source node calculates and transmits residual time stamp (RTS) values in the data packets. RTS values are removed from data packets at the destination node. The RTS values are stored in a memory. The RTS values stored over a period of time are used to set a direct digital synthesis circuit to act as the service clock for the destination node with a frequency that is substantially synchronized with a service clock at the source node.
In another embodiment, a system for recovering a service clock at a network node for circuit emulation service over a packet network is provided. The system includes a direct digital synthesis circuit for each port that generates a local service clock signal for each port of the network node. A circuit removes residual time stamp (RTS) values from data packets that are received at the port of the network node. A memory stores the RTS values. A microcontroller uses RTS values stored in the memory over a period of time to generate a number to set the frequency of the direct digital synthesis circuit.